import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import global_ from './api'
// 导入全局样式表
import './assets/css/global.css'
// 导入字体图标
import './assets/fonts/iconfont.css'
// 文本编辑器
import VueQuillEditor from 'vue-quill-editor'
// 导入富文本编辑器对应样式
import 'quill/dist/quill.core.css' // import styles
import 'quill/dist/quill.snow.css' // for snow theme
import 'quill/dist/quill.bubble.css' // for bubble theme

import axios from 'axios'
axios.defaults.withCredentials = true
// 域名已代理 配置请求路径
// axios.defaults.baseURL = process.env.NODE_ENV === 'production' ? 'http://www.tp6e.com' : '/'
axios.defaults.baseURL = 'http://www.tp6e.com'
// axios.defaults.baseURL = 'https://www.liulongbin.top:8888/api/private/v1/'
// 在request 拦截器中, 展示进度条 NProgress.start()
// 请求在到达服务器之前，先会调用use中的这个回调函数来添加请求头信息
axios.interceptors.request.use(config => {
  // console.log(config)
  // 为请求头对象，添加token验证的Authorization字段
  config.headers.Authorization = window.sessionStorage.getItem('token')
  // 在最后必须 return config
  return config
})

// http response 响应拦截器
axios.interceptors.response.use(response => {
  if (response.data.status === 401) {
    // 用户登录超时，重新登陆
    router.push({
      path: '/login'
    })
  }
  return response
},error => {
  // 返回接口返回的错误信息
  return Promise.reject(error.response.data)
})

// 跨域请求
// Vue.use(VueResource)
// 图片上传地址
Vue.prototype.$uploadImg = axios.defaults.baseURL
// 图片浏览地址
Vue.prototype.$imgUrl = axios.defaults.baseURL + '/storage/'
// 挂在到Vue实例，后面可通过this调用
Vue.prototype.$http = axios
// 挂载到Vue实例上面
Vue.prototype.GLOBAL = global_

// 将富文本编辑器注册为全局可用组件
Vue.use(VueQuillEditor, /* { default global options } */)

Vue.config.productionTip = false

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
